(レポート) BDT307: ゼロインフラストラクチャ、リアルタイムのデータ収集および分析 #reinvent
AWSでは、EC2を使わない『サーバレス』なアーキテクチャの構築方法がより注目を浴びていますが、ビッグデータ周りについてもその傾向を見ることが出来ます。当エントリではそんな流れを組んだAWS諸サービスのサービス毎の特徴と事例紹介に関する紹介セッションの内容をレポートしたいと思います。
当セッションについては既にスライド資料がSlideshareで公開されていたので共有します。
Amazon API Gateway
- RESTベースのエンドポイント作成
- フルマネージド
- 自動的にスケール
- 高速な開発が可能に
- 柔軟なセキュリティ制御
- Integrationタイプ
- Lambda/Proxy AWSサービス/Proxy既存サービス/モック
- ステージングデプロイ
- クロスオリジンリソース共有(CORS)のサポート
- 自動生成SDK:Android/iOS/Javascript
- 料金周りの情報:
AWS Lambda
- フルマネージドなサーバレスコンピュートサービス
- イベントドリブン
- プラッフォーム
- Amazon Linux, Node.js/Java, メモリ設定/CPU, タイムアウト
- 料金周りの情報
AWS Lambdaの活用例
Direct Innovation Model
Pull Model
Push Model
AWS LambdaとAmazon API Gateway
- AWS LambdaとAmazon API Gatewayの組み合わせ
- 高速且つデプロイが容易
- 自動スケーリング
- 100%フル活用可能
- フルマネージド
- Amaozn EC2
- 既存インフラ
- 90%以上の活用状況
Amazon Kinesis
- フルマネージドなデータアグリゲーター
- コンテンツアグリゲータとは|contents aggregator|コンテンツアグリゲーター - 意味/解説/説明/定義 : IT用語辞典
- 1時間あたりテラバイト級のデータを
- ストリーム
- 3施設間でのレプリーション
- 24時間のデータ保持
- シャード
- 秒間あたり1MB(1000put)の書き込み
- 秒間あたり2MB(5操作)の読み込み
- 単一スレッド
- Amazon Kinesis Shared Management
- awslabs/amazon-kinesis-scaling-utils · GitHub
-
Amazon API Gateway
- RESTインタフェース / proxy
- 最も高価
- Directo to Amazon Kinesis
- Amazon Kinesis API
- 最も安価
- 料金周りの情報
Amazon S3
- セキュア
- 持続可能(Durable)
- スケーラブル
- キー名称での分散
- ライフサイクルポリシー
- Amazon Glacier AWS Key Management Service
- 暗号化キーの管理
- データを直接暗号化/復号化
- Amazon S3/RDS/Reshiftと直接連携
- AWS Lambda連携(API経由)
- 料金周り:
Amazon SQS
Amazon Redshift
- フルマネージドなペタバイト級のDWH
- 高速/スケーラブル/フォールトトレラント/親和性
- COPYコマンドの実施
- 並行ロード
- 単一トランザ九品
- AWS KMSを使った暗号化認証
- 区切り文字、固定長、JSON、AVRO対応
- GZIP&LZOP対応
- マイクロバッチローディング対応
- 無限ループ
- Amazon Kinesisストリーム1つを1シャードに作成
- Lambda FunctionをAmazon Kinesis Streamにアタッチ
- 複数シャードを複数スレッドに作成
- 費用面について / 見積り例
Amazon Aurora
- フルマネージドRDB
- MySQL5.6
- MySQLよりも5倍以上良いパフォーマンス
- 1秒あたり50万のSELECT
- 1秒あたり10万のUPDATE
- Multi-AZ
- データは3つのゾーンに6通り複製
Amazon Aurora or Amazon Redshift?
- Amazon Redshift
- DWHワークロード
- データは64TB以上に対応
- 同時実行クエリは50
- Amazon Aurora
- OLTPワークロード
- データは64TB未満
- 50万回のSELECT/10万回のUPDATEを秒間で実施可能
- 費用面について
- Compute
- Storage
Zillow社の事例紹介
オンライン不動産データベースを運営するアメリカの企業。
- ユースケース:
- モバイルアプリメトリクスのサブセットを収集する必要があった
- ソリューションが3週間以内に届けられる事が必要だった
- ビジネスオーナーに1日数回,、収集の要求とメトリクスのレポートが返って来る
- 我々は既にAWSの中にDWHを持っていたので(支援の為のAWSソリューションアーキテクトである)スティーブには接触していた
- 我々は何を行なったか?
- Amazon API Gatewayの中にカスタムエンドポイントを作成
- 1日1600万以上のPOST
- AWS Lambdaを使ってAPI GatewayからAmazon Kinesisにデータを送信
- Lambdaを使い、Amazon S3の中にAWS KMSを使って暗号化データを蓄積
- Amazon EMR上でSparkを使ってデータを分析
- AWS Data Pipelineを使ってSparkのジョブを実行、データを生成
- ユースケースが挙がった場合、Amazon Kinesisを使ってAmaozn EMRのSpark上でデータをリアルタイム分析を行なう
- 構成図
さいごに
ゼロインフラストラクチャ、リアルタイムのデータ収集に関するセッションのレポートでした。この辺りのサービスを活用したインフラ構築は今後どんどん多くなってくる事と思われます。使いどころを押さえて、より良いインフラ環境を整えて行きたいところですね!以上、サンフランシスコの現場からお送りしました。